#ifndef __APP_POOL_H__
#define __APP_POOL_H__

#define APP_POOL_THREAD_NUM 4
#define APP_POOL_QUEUE_NAME "/GATEWAY_POOL_QUEUE"
#define APP_POOL_QUEUE_MAXMSG 10

typedef struct
{
    void *(*task_func)(void *);
    void *task_arg;
} task_t;

/**
 * @brief 初始化线程池
 * 1.先创建队列
 * 2.创建线程池
 */
int app_pool_init();

/**
 * @brief 向线程池提交任务
 *
 */
int app_pool_submit_task(void *(*func)(void *), void *arg);

/**
 * @brief 销毁线程池
 */
void app_pool_destroy();

#endif /* __APP_POOL_H__ */